function BranchData() {
    this.position = -1;
    this.nodeLength = -1;
    this.evalFalse = 0;
    this.evalTrue = 0;

    this.init = function(position, nodeLength) {
        this.position = position;
        this.nodeLength = nodeLength;
        return this;
    };

    this.ranCondition = function(result) {
        if (result)
            this.evalTrue++;
        else
            this.evalFalse++;
    };

    this.pathsCovered = function() {
        var paths = 0;
        if (this.evalTrue > 0)
          paths++;
        if (this.evalFalse > 0)
          paths++;
        return paths;
    };

    this.covered = function() {
        return this.evalTrue > 0 && this.evalFalse > 0;
    };

    this.toJSON = function() {
        return '{"position":' + this.position
            + ',"nodeLength":' + this.nodeLength
            + ',"evalFalse":' + this.evalFalse
            + ',"evalTrue":' + this.evalTrue + '}';
    };

    this.message = function(src) {
        if (this.evalTrue === 0 && this.evalFalse === 0)
            return 'Condition never evaluated         :\t' + src + '\n';
        else if (this.evalTrue === 0)
            return 'Condition never evaluated to true :\t' + src + '\n';
        else if (this.evalFalse === 0)
            return 'Condition never evaluated to false:\t' + src + '\n';
        else
            return 'Condition covered';
    };
}

BranchData.fromJson = function(jsonString) {
    var json = eval('(' + jsonString + ')');
    var branchData = new BranchData();
    branchData.init(json.position, json.nodeLength);
    branchData.evalFalse = json.evalFalse;
    branchData.evalTrue = json.evalTrue;
    return branchData;
};

BranchData.fromJsonObject = function(json) {
    var branchData = new BranchData();
    branchData.init(json.position, json.nodeLength);
    branchData.evalFalse = json.evalFalse;
    branchData.evalTrue = json.evalTrue;
    return branchData;
};

function buildBranchMessage(conditions) {
    var message = 'The following was not covered:';
    var i;
    for (i = 0; i < conditions.length; i++) {
        if (conditions[i] !== undefined && conditions[i] !== null && !conditions[i].covered())
            message += '\n- '+ conditions[i].message(conditions[i].src);
    }
    return message;
}

function convertBranchDataConditionArrayToJSON(branchDataConditionArray) {
    var condition, branchDataObject, value;
    var array = [];
    var length = branchDataConditionArray.length;
    for (condition = 0; condition < length; condition++) {
        branchDataObject = branchDataConditionArray[condition];
        if (branchDataObject === undefined || branchDataObject === null) {
            value = 'null';
        } else {
            value = branchDataObject.toJSON();
        }
        array.push(value);
    }
    return '[' + array.join(',') + ']';
}

function convertBranchDataLinesToJSON(branchData) {
    if (branchData === undefined) {
        return '{}'
    }
    var line;
    var json = '';
    for (line in branchData) {
        if (isNaN(line))
            continue;
        if (json !== '')
            json += ',';
        json += '"' + line + '":' + convertBranchDataConditionArrayToJSON(branchData[line]);
    }
    return '{' + json + '}';
}

function convertBranchDataLinesFromJSON(jsonObject) {
    if (jsonObject === undefined) {
        return {};
    }
    var line, branchDataJSON, conditionIndex, condition;
    for (line in jsonObject) {
        branchDataJSON = jsonObject[line];
        if (branchDataJSON !== null) {
            for (conditionIndex = 0; conditionIndex < branchDataJSON.length; conditionIndex ++) {
                condition = branchDataJSON[conditionIndex];
                if (condition !== null) {
                    branchDataJSON[conditionIndex] = BranchData.fromJsonObject(condition);
                }
            }
        }
    }
    return jsonObject;
}
function jscoverage_quote(s) {
    return '"' + s.replace(/[\u0000-\u001f"\\\u007f-\uffff]/g, function (c) {
        switch (c) {
            case '\b':
                return '\\b';
            case '\f':
                return '\\f';
            case '\n':
                return '\\n';
            case '\r':
                return '\\r';
            case '\t':
                return '\\t';
            // IE doesn't support this
            /*
             case '\v':
             return '\\v';
             */
            case '"':
                return '\\"';
            case '\\':
                return '\\\\';
            default:
                return '\\u' + jscoverage_pad(c.charCodeAt(0).toString(16));
        }
    }) + '"';
}

function getArrayJSON(coverage) {
    var array = [];
    if (coverage === undefined)
        return array;

    var length = coverage.length;
    for (var line = 0; line < length; line++) {
        var value = coverage[line];
        if (value === undefined || value === null) {
            value = 'null';
        }
        array.push(value);
    }
    return array;
}

function jscoverage_serializeCoverageToJSON() {
    var json = [];
    for (var file in _$jscoverage) {
        var lineArray = getArrayJSON(_$jscoverage[file].lineData);
        var fnArray = getArrayJSON(_$jscoverage[file].functionData);

        json.push(jscoverage_quote(file) + ':{"lineData":[' + lineArray.join(',') + '],"functionData":[' + fnArray.join(',') + '],"branchData":' + convertBranchDataLinesToJSON(_$jscoverage[file].branchData) + '}');
    }
    return '{' + json.join(',') + '}';
}

function jscoverage_parseCoverageJSON(data) {
    var result = {};
    var json = eval('(' + data + ')');
    var file;
    for (file in json) {
        var fileCoverage = json[file];
        result[file] = {};
        result[file].lineData = fileCoverage.lineData;
        result[file].functionData = fileCoverage.functionData;
        result[file].branchData = convertBranchDataLinesFromJSON(fileCoverage.branchData);
    }
    return result;
}

function jscoverage_pad(s) {
    return '0000'.substr(s.length) + s;
}

function jscoverage_html_escape(s) {
    return s.replace(/[<>\&\"\']/g, function (c) {
        return '&#' + c.charCodeAt(0) + ';';
    });
}
var jsCover_isolateBrowser = false;
if (!jsCover_isolateBrowser) {
    try {
        if (typeof top === 'object' && top !== null && typeof top.opener === 'object' && top.opener !== null) {
            // this is a browser window that was opened from another window

            if (!top.opener._$jscoverage) {
                top.opener._$jscoverage = {};
            }
        }
    } catch (e) {
    }

    try {
        if (typeof top === 'object' && top !== null) {
            // this is a browser window

            try {
                if (typeof top.opener === 'object' && top.opener !== null && top.opener._$jscoverage) {
                    top._$jscoverage = top.opener._$jscoverage;
                }
            } catch (e) {
            }

            if (!top._$jscoverage) {
                top._$jscoverage = {};
            }
        }
    } catch (e) {
    }

    try {
        if (typeof top === 'object' && top !== null && top._$jscoverage) {
            this._$jscoverage = top._$jscoverage;
        }
    } catch (e) {
    }
}
if (!this._$jscoverage) {
    this._$jscoverage = {};
}
if (! _$jscoverage['/assert.js']) {
  _$jscoverage['/assert.js'] = {};
  _$jscoverage['/assert.js'].lineData = [];
  _$jscoverage['/assert.js'].lineData[89] = 0;
  _$jscoverage['/assert.js'].lineData[90] = 0;
  _$jscoverage['/assert.js'].lineData[91] = 0;
  _$jscoverage['/assert.js'].lineData[92] = 0;
  _$jscoverage['/assert.js'].lineData[95] = 0;
  _$jscoverage['/assert.js'].lineData[96] = 0;
  _$jscoverage['/assert.js'].lineData[97] = 0;
  _$jscoverage['/assert.js'].lineData[99] = 0;
  _$jscoverage['/assert.js'].lineData[102] = 0;
  _$jscoverage['/assert.js'].lineData[103] = 0;
  _$jscoverage['/assert.js'].lineData[104] = 0;
  _$jscoverage['/assert.js'].lineData[105] = 0;
  _$jscoverage['/assert.js'].lineData[106] = 0;
  _$jscoverage['/assert.js'].lineData[108] = 0;
  _$jscoverage['/assert.js'].lineData[109] = 0;
  _$jscoverage['/assert.js'].lineData[110] = 0;
  _$jscoverage['/assert.js'].lineData[111] = 0;
  _$jscoverage['/assert.js'].lineData[112] = 0;
  _$jscoverage['/assert.js'].lineData[114] = 0;
  _$jscoverage['/assert.js'].lineData[116] = 0;
  _$jscoverage['/assert.js'].lineData[117] = 0;
  _$jscoverage['/assert.js'].lineData[118] = 0;
  _$jscoverage['/assert.js'].lineData[119] = 0;
  _$jscoverage['/assert.js'].lineData[121] = 0;
  _$jscoverage['/assert.js'].lineData[122] = 0;
  _$jscoverage['/assert.js'].lineData[123] = 0;
  _$jscoverage['/assert.js'].lineData[125] = 0;
  _$jscoverage['/assert.js'].lineData[128] = 0;
  _$jscoverage['/assert.js'].lineData[130] = 0;
  _$jscoverage['/assert.js'].lineData[133] = 0;
  _$jscoverage['/assert.js'].lineData[134] = 0;
  _$jscoverage['/assert.js'].lineData[135] = 0;
  _$jscoverage['/assert.js'].lineData[137] = 0;
  _$jscoverage['/assert.js'].lineData[140] = 0;
  _$jscoverage['/assert.js'].lineData[141] = 0;
  _$jscoverage['/assert.js'].lineData[142] = 0;
  _$jscoverage['/assert.js'].lineData[143] = 0;
  _$jscoverage['/assert.js'].lineData[145] = 0;
  _$jscoverage['/assert.js'].lineData[149] = 0;
  _$jscoverage['/assert.js'].lineData[150] = 0;
  _$jscoverage['/assert.js'].lineData[151] = 0;
  _$jscoverage['/assert.js'].lineData[152] = 0;
  _$jscoverage['/assert.js'].lineData[154] = 0;
  _$jscoverage['/assert.js'].lineData[155] = 0;
  _$jscoverage['/assert.js'].lineData[156] = 0;
  _$jscoverage['/assert.js'].lineData[158] = 0;
  _$jscoverage['/assert.js'].lineData[159] = 0;
  _$jscoverage['/assert.js'].lineData[160] = 0;
  _$jscoverage['/assert.js'].lineData[161] = 0;
  _$jscoverage['/assert.js'].lineData[162] = 0;
  _$jscoverage['/assert.js'].lineData[163] = 0;
  _$jscoverage['/assert.js'].lineData[164] = 0;
  _$jscoverage['/assert.js'].lineData[166] = 0;
  _$jscoverage['/assert.js'].lineData[167] = 0;
  _$jscoverage['/assert.js'].lineData[170] = 0;
  _$jscoverage['/assert.js'].lineData[172] = 0;
  _$jscoverage['/assert.js'].lineData[173] = 0;
  _$jscoverage['/assert.js'].lineData[175] = 0;
  _$jscoverage['/assert.js'].lineData[213] = 0;
  _$jscoverage['/assert.js'].lineData[215] = 0;
  _$jscoverage['/assert.js'].lineData[216] = 0;
  _$jscoverage['/assert.js'].lineData[217] = 0;
  _$jscoverage['/assert.js'].lineData[218] = 0;
  _$jscoverage['/assert.js'].lineData[219] = 0;
  _$jscoverage['/assert.js'].lineData[221] = 0;
  _$jscoverage['/assert.js'].lineData[223] = 0;
  _$jscoverage['/assert.js'].lineData[224] = 0;
  _$jscoverage['/assert.js'].lineData[226] = 0;
  _$jscoverage['/assert.js'].lineData[227] = 0;
  _$jscoverage['/assert.js'].lineData[228] = 0;
  _$jscoverage['/assert.js'].lineData[230] = 0;
  _$jscoverage['/assert.js'].lineData[231] = 0;
  _$jscoverage['/assert.js'].lineData[232] = 0;
  _$jscoverage['/assert.js'].lineData[235] = 0;
  _$jscoverage['/assert.js'].lineData[236] = 0;
  _$jscoverage['/assert.js'].lineData[239] = 0;
  _$jscoverage['/assert.js'].lineData[240] = 0;
  _$jscoverage['/assert.js'].lineData[245] = 0;
  _$jscoverage['/assert.js'].lineData[246] = 0;
  _$jscoverage['/assert.js'].lineData[248] = 0;
  _$jscoverage['/assert.js'].lineData[250] = 0;
  _$jscoverage['/assert.js'].lineData[251] = 0;
  _$jscoverage['/assert.js'].lineData[255] = 0;
  _$jscoverage['/assert.js'].lineData[256] = 0;
  _$jscoverage['/assert.js'].lineData[259] = 0;
  _$jscoverage['/assert.js'].lineData[260] = 0;
  _$jscoverage['/assert.js'].lineData[261] = 0;
  _$jscoverage['/assert.js'].lineData[269] = 0;
  _$jscoverage['/assert.js'].lineData[270] = 0;
  _$jscoverage['/assert.js'].lineData[278] = 0;
  _$jscoverage['/assert.js'].lineData[280] = 0;
}
_$jscoverage['/assert.js'].lineData[89]++;
function assertTrueOrThrowException(contentWillBeChecked, isCorrectFunc, getErrorMsgFunc) {
  _$jscoverage['/assert.js'].lineData[90]++;
  if (!getErrorMsgFunc) {
    _$jscoverage['/assert.js'].lineData[91]++;
    logger.error('\u4efb\u52a1\u3010 {} \u3011 \u672a\u5b9a\u4e49getErrorMsgFunc\u51fd\u6570', context.get(LUA_TASK_KEY));
    _$jscoverage['/assert.js'].lineData[92]++;
    throw new BankException(BALO_99605_10, errorMsgMap.get(BALO_99605_10));
  }
  _$jscoverage['/assert.js'].lineData[95]++;
  if (!assertTrue(contentWillBeChecked, isCorrectFunc)) {
    _$jscoverage['/assert.js'].lineData[96]++;
    logger.error('\u4efb\u52a1\u3010 {} \u3011\u5f53\u524d\u8282\u70b9\u6821\u9a8c\u672a\u901a\u8fc7, \u6821\u9a8c\u51fd\u6570\u3010 {} \u3011', context.get(LUA_TASK_KEY), isCorrectFunc);
    _$jscoverage['/assert.js'].lineData[97]++;
    throwBankExceptionByErrorMsg(getErrorMsgFunc(contentWillBeChecked));
  }
  _$jscoverage['/assert.js'].lineData[99]++;
  return true;
}
_$jscoverage['/assert.js'].lineData[102]++;
var _context = {};
_$jscoverage['/assert.js'].lineData[103]++;
function repeater(contentWillBeCheckedFunc, isCorrectFunc, times, backFunc) {
  _$jscoverage['/assert.js'].lineData[104]++;
  if (!contentWillBeCheckedFunc) {
    _$jscoverage['/assert.js'].lineData[105]++;
    logger.error('\u4efb\u52a1\u3010 {} \u3011 \u672a\u5b9a\u4e49contentWillBeCheckedFunc\u51fd\u6570', context.get(LUA_TASK_KEY));
    _$jscoverage['/assert.js'].lineData[106]++;
    throw new BankException(BALO_99605_10, errorMsgMap.get(BALO_99605_10));
  }
  _$jscoverage['/assert.js'].lineData[108]++;
  var flag = false;
  _$jscoverage['/assert.js'].lineData[109]++;
  while (times > 0) {
    _$jscoverage['/assert.js'].lineData[110]++;
    var contentWillBeChecked;
    _$jscoverage['/assert.js'].lineData[111]++;
    try {
      _$jscoverage['/assert.js'].lineData[112]++;
      contentWillBeChecked = contentWillBeCheckedFunc();
    } catch (e) {
      _$jscoverage['/assert.js'].lineData[114]++;
      contentWillBeChecked = null;
    }
    _$jscoverage['/assert.js'].lineData[116]++;
    _context['contentWillBeChecked'] = contentWillBeChecked;
    _$jscoverage['/assert.js'].lineData[117]++;
    flag = assertTrue(_context['contentWillBeChecked'], isCorrectFunc);
    _$jscoverage['/assert.js'].lineData[118]++;
    if (flag) {
      _$jscoverage['/assert.js'].lineData[119]++;
      break;
    }
    _$jscoverage['/assert.js'].lineData[121]++;
    if (backFunc) {
      _$jscoverage['/assert.js'].lineData[122]++;
      try {
        _$jscoverage['/assert.js'].lineData[123]++;
        backFunc();
      } catch (e) {
        _$jscoverage['/assert.js'].lineData[125]++;
        logger.error('\u4efb\u52a1\u3010 {} \u3011 \u5f53\u524d\u6b65\u9aa4\u540e\u9000\u51fa\u9519,\u5ffd\u7565\u9519\u8bef', context.get(LUA_TASK_KEY));
      }
    }
    _$jscoverage['/assert.js'].lineData[128]++;
    times--;
  }
  _$jscoverage['/assert.js'].lineData[130]++;
  return flag;
}
_$jscoverage['/assert.js'].lineData[133]++;
function repeaterAndAssertTrueOrThrowException(contentWillBeCheckedFunc, isCorrectFunc, getErrorMsgFunc, times, backFunc) {
  _$jscoverage['/assert.js'].lineData[134]++;
  if (!repeater(contentWillBeCheckedFunc, isCorrectFunc, times, backFunc)) {
    _$jscoverage['/assert.js'].lineData[135]++;
    throwBankExceptionByErrorMsg(getErrorMsgFunc(_context['contentWillBeChecked']));
  }
  _$jscoverage['/assert.js'].lineData[137]++;
  return true;
}
_$jscoverage['/assert.js'].lineData[140]++;
function assertTrue(contentWillBeChecked, isCorrectFunc) {
  _$jscoverage['/assert.js'].lineData[141]++;
  if (!isCorrectFunc) {
    _$jscoverage['/assert.js'].lineData[142]++;
    logger.error('\u4efb\u52a1\u3010 {} \u3011\u5f53\u524d\u5206\u652f\u3010 {} \u3011\u672a\u5b9a\u4e49isCorrectFunc\u51fd\u6570', context.get(LUA_TASK_KEY), context.get('forkFlag'));
    _$jscoverage['/assert.js'].lineData[143]++;
    throw new BankException(BALO_99605_10, errorMsgMap.get(BALO_99605_10));
  }
  _$jscoverage['/assert.js'].lineData[145]++;
  return isCorrectFunc(contentWillBeChecked);
}
_$jscoverage['/assert.js'].lineData[149]++;
function assertTrueOrThrowExceptionByTimes(contentWillBeCheckedFunc, isCorrectFunc, getErrorMsgFunc, times) {
  _$jscoverage['/assert.js'].lineData[150]++;
  if (!getErrorMsgFunc) {
    _$jscoverage['/assert.js'].lineData[151]++;
    logger.error('\u4efb\u52a1\u3010 {} \u3011 \u672a\u5b9a\u4e49getErrorMsgFunc\u51fd\u6570', context.get(LUA_TASK_KEY));
    _$jscoverage['/assert.js'].lineData[152]++;
    throw new BankException(BALO_99605_10, errorMsgMap.get(BALO_99605_10));
  }
  _$jscoverage['/assert.js'].lineData[154]++;
  if (!contentWillBeCheckedFunc) {
    _$jscoverage['/assert.js'].lineData[155]++;
    logger.error('\u4efb\u52a1\u3010 {} \u3011 \u672a\u5b9a\u4e49contentWillBeCheckedFunc\u51fd\u6570', context.get(LUA_TASK_KEY));
    _$jscoverage['/assert.js'].lineData[156]++;
    throw new BankException(BALO_99605_10, errorMsgMap.get(BALO_99605_10));
  }
  _$jscoverage['/assert.js'].lineData[158]++;
  while (times > 0) {
    _$jscoverage['/assert.js'].lineData[159]++;
    var contentWillBeChecked = contentWillBeCheckedFunc();
    _$jscoverage['/assert.js'].lineData[160]++;
    if (!assertTrue(contentWillBeChecked, isCorrectFunc)) {
      _$jscoverage['/assert.js'].lineData[161]++;
      logger.error('\u4efb\u52a1\u3010 {} \u3011\u5f53\u524d\u8282\u70b9\u6821\u9a8c\u672a\u901a\u8fc7, \u6821\u9a8c\u51fd\u6570\u3010 {} \u3011', context.get(LUA_TASK_KEY), isCorrectFunc);
      _$jscoverage['/assert.js'].lineData[162]++;
      var errorMsg = getErrorMsgFunc(contentWillBeChecked);
      _$jscoverage['/assert.js'].lineData[163]++;
      if (!errorMsg == '') {
        _$jscoverage['/assert.js'].lineData[164]++;
        throwBankExceptionByErrorMsg(errorMsg);
      }
      _$jscoverage['/assert.js'].lineData[166]++;
      if (errorMsg == '' && times == 1) {
        _$jscoverage['/assert.js'].lineData[167]++;
        throwBankExceptionByErrorMsg('\u767b\u5f55\u8d85\u65f6');
      }
    } else {
      _$jscoverage['/assert.js'].lineData[170]++;
      break;
    }
    _$jscoverage['/assert.js'].lineData[172]++;
    times--;
    _$jscoverage['/assert.js'].lineData[173]++;
    Thread.sleep(1000);
  }
  _$jscoverage['/assert.js'].lineData[175]++;
  return true;
}
_$jscoverage['/assert.js'].lineData[213]++;
function throwBankExceptionByErrorMsg(errorMsg) {
  _$jscoverage['/assert.js'].lineData[215]++;
  var taskKey = context.get(LUA_TASK_KEY);
  _$jscoverage['/assert.js'].lineData[216]++;
  var bankName = context.get(LUA_TASK_BANK_NAME);
  _$jscoverage['/assert.js'].lineData[217]++;
  var cardType = context.get(LUA_TASK_CARD_TYPE);
  _$jscoverage['/assert.js'].lineData[218]++;
  var entrance = context.get('entrance');
  _$jscoverage['/assert.js'].lineData[219]++;
  errorMsg = StringUtils.isNotBlank(errorMsg) ? StringUtils.trim(errorMsg) : '';
  _$jscoverage['/assert.js'].lineData[221]++;
  var errorCode = commonErrorMsgAndErrorCodeMappings[errorMsg];
  _$jscoverage['/assert.js'].lineData[223]++;
  logger.error("\u4efb\u52a1\u3010 {} \u3011\u94f6\u884c\u540d\u79f0\u3010 {} \u3011 \u5361\u7c7b\u578b\u3010 {} \u3011\u5165\u53e3\u3010 {} \u3011 \u9519\u8bef\u4fe1\u606f\uff1a\u3010 '{}' \u3011", taskKey, bankName, cardType, entrance, errorMsg);
  _$jscoverage['/assert.js'].lineData[224]++;
  logger.error("\u4efb\u52a1\u3010 {} \u3011\u3010 commonErrorMsgAndErrorCodeMappings['{}'] \x3d {} \u3011", taskKey, errorMsg, errorCode === undefined ? 'undefined' : "'" + errorCode + "'");
  _$jscoverage['/assert.js'].lineData[226]++;
  if (errorCode == null || errorCode === undefined) {
    _$jscoverage['/assert.js'].lineData[227]++;
    var errorMsgMapping = bankCardTypeEntranceErrorMsgCategoryMappings[bankName][cardType][entrance];
    _$jscoverage['/assert.js'].lineData[228]++;
    logger.error("\u4efb\u52a1\u3010 {} \u3011\u3010 bankCardTypeEntranceErrorMsgCategoryMappings['{}']['{}']['{}'] \x3d {} \u3011", taskKey, bankName, cardType, entrance, errorMsgMapping === undefined ? 'undefined' : "'" + errorMsgMapping + "'");
    _$jscoverage['/assert.js'].lineData[230]++;
    if (errorMsgMapping == null || errorMsgMapping === undefined) {
      _$jscoverage['/assert.js'].lineData[231]++;
      errorCode = context.get(PHASE) == null || context.get(PHASE).getStatus() < 352 ? BALO_23001_10 : BACR_99601_60;
      _$jscoverage['/assert.js'].lineData[232]++;
      throwBankExceptionByErrorCodeAndCustomMessage(errorCode, '\u8bf7\u68c0\u67e5\u3010 ' + bankName + ' \u3011\u7684\u9519\u8bef\u63cf\u8ff0\u6620\u5c04\u914d\u7f6e\u662f\u5426\u6b63\u786e\uff0c\u5305\u62ec\u94f6\u884c\u540d\u79f0\u3001\u5361\u7c7b\u578b\u3001\u5165\u53e3\u6807\u8bc6');
    }
    _$jscoverage['/assert.js'].lineData[235]++;
    errorCode = errorMsgMapping[errorMsg];
    _$jscoverage['/assert.js'].lineData[236]++;
    logger.error("\u4efb\u52a1\u3010 {} \u3011\u3010 bankCardTypeEntranceErrorMsgCategoryMappings['{}']['{}']['{}']['{}'] \x3d {} \u3011", taskKey, bankName, cardType, entrance, errorMsg, errorCode === undefined ? 'undefined' : "'" + errorCode + "'");
    _$jscoverage['/assert.js'].lineData[239]++;
    if (errorCode == null || errorCode === undefined) {
      _$jscoverage['/assert.js'].lineData[240]++;
      errorCode = context.get(PHASE) == null || context.get(PHASE).getStatus() < 352 ? BALO_23001_10 : BACR_99601_60;
    }
  }
  _$jscoverage['/assert.js'].lineData[245]++;
  if (errorCode.contains('_')) {
    _$jscoverage['/assert.js'].lineData[246]++;
    errorCode = errorCode.replaceAll('_', '-');
  }
  _$jscoverage['/assert.js'].lineData[248]++;
  errorMsg = errorMsg !== null && errorMsg !== undefined ? errorMsg.trim() : errorMsgMap[errorCode];
  _$jscoverage['/assert.js'].lineData[250]++;
  if (errorMsg.contains('\uff0c\u8bf7\u4e0e\u94f6\u884c\u8054\u7cfb')) {
    _$jscoverage['/assert.js'].lineData[251]++;
    errorMsg = errorMsg.replaceAll('\uff0c\u8bf7\u4e0e\u94f6\u884c\u8054\u7cfb', '');
  }
  _$jscoverage['/assert.js'].lineData[255]++;
  if (equals(errorCode, BALO_99999_99)) {
    _$jscoverage['/assert.js'].lineData[256]++;
    errorMsg = String.format(errorMsgMap[BALO_99999_99], errorMsg);
  }
  _$jscoverage['/assert.js'].lineData[259]++;
  logger.error("\u4efb\u52a1\u3010 {} \u3011\u672c\u6b21\u6293\u53d6\u6700\u7ec8\u9519\u8bef\u7801\u4e0e\u63cf\u8ff0\u3010 '{}:{}' \u3011", taskKey, errorCode, errorMsg);
  _$jscoverage['/assert.js'].lineData[260]++;
  context.put('currentErrorCode', errorCode);
  _$jscoverage['/assert.js'].lineData[261]++;
  throwBankExceptionByErrorCodeAndCustomMessage(errorCode, errorMsg);
}
_$jscoverage['/assert.js'].lineData[269]++;
function throwBankExceptionByErrorCode(errorCode) {
  _$jscoverage['/assert.js'].lineData[270]++;
  throw new BankException(errorCode, errorMsgMap.get(errorCode));
}
_$jscoverage['/assert.js'].lineData[278]++;
function throwBankExceptionByErrorCodeAndCustomMessage(errorCode, errorMsg) {
  _$jscoverage['/assert.js'].lineData[280]++;
  throw new BankException(errorCode, errorMsg);
}
